import { Toast } from 'vant'

// 用于安装 Vue.js 插件。如果插件是一个对象，必须提供 install 方法。如果插件是一个函数，它会被作为 install 方法。install 方法调用时，会将 Vue 作为参数传入。
// 当 install 方法被同一个插件多次调用，插件将只会被安装一次。

export default  {
  install (Vue) {
    Vue.prototype.$alert = function (msg) {
      Toast({
        message: msg,
        duration: 1000,
        position: 'bottom'
      })
    }
    Vue.prototype.$loading = function (msg) {
      Toast.loading({
        message: msg,
        mask: true,
        duration: 0
      })
    }
    Vue.prototype.$close = function () {
      Toast.clear()
    }
    Vue.prototype.$setStorage = function (key, obj) {
      let objStr = JSON.stringify(obj)
      localStorage.setItem(key, objStr)
    }
    Vue.prototype.$getStorage = function (key) {
      return JSON.parse( localStorage.getItem(key) )
    }
    Vue.prototype.$setToken = function (token) {
      if (token == undefined) {
        token = null
      }
      localStorage.setItem('token', token)
    }
    Vue.prototype.$getToken = function () {
      return localStorage.getItem('token')
    }
    Vue.prototype.$removeStorage = function (key) {
      if (key) {
        localStorage.removeItem(key)
      } 
      else {
        localStorage.clear()
      }
    }
  } 
}